import Vue from 'vue'
import App from './App'
import store from './store'
import axios from "axios"
import router from './router'
import directive from './directive' //directive
import situation from "./situation"; //自定义的全局变量
import Cookies from 'js-cookie'
import Element from 'element-ui'
import tinymce from 'tinymce'
import VueTinymce from '@packy-tang/vue-tinymce'
import VueDragResize from 'vue-drag-resize'

import './assets/styles/element-variables.scss'
import '@/assets/styles/index.scss' // global css
import '@/assets/styles/ruoyi.scss' // ruoyi css

import './assets/icons' // icon
import './permission' // permission control

import "./static/fonts/iconfont.css";
import "./static/fonts/fontawesome-webfont.woff2";
import "./static/fonts/wxiconx/iconfont.css";
import "./static/fonts/v3/iconfont.css";
import "./static/vlonFonts/iconfont.css";

// import Swiper from 'swiper'
// import 'swiper/dist/css/swiper.min.css'
// Vue.use(Swiper)


import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree } from "@/utils/ruoyi";
import Pagination from "@/components/Pagination";
// 自定义表格工具组件
import RightToolbar from "@/components/RightToolbar"
// 富文本组件
import Editor from "@/components/Editor"
// 文件上传组件
import FileUpload from "@/components/FileUpload"
// 图片上传组件
import ImageUpload from "@/components/ImageUpload"
// 字典标签组件
import DictTag from '@/components/DictTag'
// 头部标签组件
import VueMeta from 'vue-meta'

import Moment from "moment"; //时间组件绑定到全局
Vue.prototype.moment = Moment;
// import * as echarts from 'echarts'

// 全局方法挂载
Vue.prototype.$tinymce = tinymce // 将全局tinymce对象指向给Vue作用域下
Vue.prototype.getDicts = getDicts
Vue.prototype.getConfigKey = getConfigKey
Vue.prototype.parseTime = parseTime
Vue.prototype.resetForm = resetForm
Vue.prototype.addDateRange = addDateRange
Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectDictLabels = selectDictLabels
Vue.prototype.download = download
Vue.prototype.handleTree = handleTree
Vue.prototype.axios = axios
    // Vue.prototype.echarts=echarts
    //自定义的全局变量
Vue.prototype.$situation = situation
Vue.prototype.msgSuccess = function(msg) {
    this.$message({ showClose: true, message: msg, type: "success" });
}

Vue.prototype.msgError = function(msg) {
    this.$message({ showClose: true, message: msg, type: "error" });
}

Vue.prototype.msgInfo = function(msg) {
    this.$message.info(msg);
}

// 全局组件挂载
Vue.component('DictTag', DictTag)
Vue.component('Pagination', Pagination)
Vue.component('RightToolbar', RightToolbar)
Vue.component('Editor', Editor)
Vue.component('FileUpload', FileUpload)
Vue.component('ImageUpload', ImageUpload)
Vue.component('vue-drag-resize', VueDragResize)

Vue.use(directive)
Vue.use(VueMeta)
Vue.use(VueTinymce) // 安装vue的tinym



localStorage.setItem("tenantId", 299); //开发测试数据，生产需删除

/**
 * If you don't want to use mock-server
 * you want to use MockJs for mock api
 * you can execute: mockXHR()
 *
 * Currently MockJs will be used in the production environment,
 * please remove it before going online! ! !
 */

Vue.use(Element, {
    size: Cookies.get('size') || 'medium' // set element-ui default size
})

Vue.config.productionTip = false

new Vue({
    el: '#app',
    data() {
        return {
            // baseUrl: window.location.host === "localhost" ? "http://av.91weiduan.cn" : `"http://${window.location.host}`
        }
    },
    router,
    store,
    render: h => h(App)
})